package com.mediacloud.app.newsmodule.service;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;

import androidx.annotation.Nullable;

/**
 * Created by chenkai on 2017/5/15.
 */

public class UpdateService extends Service {
    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

//    PgyerUpdateBean pgyerUpdateBean;
//    @Override
//    public void onCreate() {
//        super.onCreate();
//    }
//
//    @Override
//    public int onStartCommand(Intent intent, int flags, int startId)
//    {
//        pgyerUpdateBean = intent.getParcelableExtra(Intent.ACTION_GET_CONTENT);
//        if (isNetConnected())
//        {
//            if (isWifiConnected()&&pgyerUpdateBean!=null)
//            {
//                Log.i("test", "update wifi connect");
//                downLoad(pgyerUpdateBean.getDownloadURL());
//            }
//            else
//            {
//                stopSelf();
//            }
//
//        }
//
//        return super.onStartCommand(intent, flags, startId);
//
//    }
//
//    /**
//     * 网络状态
//     *
//     * @return
//     */
//    private boolean isNetConnected() {
//        ConnectivityManager cm = (ConnectivityManager) this.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
//        if (cm != null) {
//            NetworkInfo[] infos = cm.getAllNetworkInfo();
//            if (infos != null) {
//                for (NetworkInfo ni : infos) {
//                    if (ni.isConnected()) {
//                        return true;
//                    }
//                }
//            }
//        }
//        return false;
//    }
//
//    /**
//     * WIFI连接状态
//     *
//     * @return
//     */
//    private boolean isWifiConnected() {
//        ConnectivityManager cm = (ConnectivityManager) this.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
//        if (cm != null) {
//            NetworkInfo networkInfo = cm.getActiveNetworkInfo();
//            return networkInfo != null && networkInfo.getType() == ConnectivityManager.TYPE_WIFI;
//        }
//        return false;
//    }
//
//    @Nullable
//    @Override
//    public IBinder onBind(Intent intent) {
//        return null;
//    }
//
//    public Callback.Cancelable handler;
//
//    private void downLoad(String url) {
//        Log.i("test", "update down url::" + url);
//        org.xutils.http.RequestParams params = new org.xutils.http.RequestParams(url);
//        params.setAutoRename(true);//断点下载
////        String sdPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/appfactory/download/";
//        String sdPath = FileUtil.FILEAPK;
//        Log.i("test", "update down sdPath:" + sdPath);
//        params.setSaveFilePath(sdPath);//
//        params.setRedirectHandler(new RedirectHandler() {
//            @Override
//            public RequestParams getRedirectParams(UriRequest request) throws Throwable {
//                if(request.getResponseCode()==301||request.getResponseCode()==302)
//                {
//                    String location="Location";
//                    Map<String, List<String>> map=request.getResponseHeaders();
//                    if(map.containsKey(location)&& map.get(location)!=null&& map.get(location).size()>0)
//                    {
//                        String redirectUrl=map.get(location).get(0);
//                        downLoad(redirectUrl);
//                    }
//                }
//                return null;
//            }
//        });
//        params.setExecutor(new PriorityExecutor(2,false));//自定义线程池,有效的值范围[1, 3], 设置为3时, 可能阻塞图片加载.
//        params.setCancelFast(true);//是否可以被立即停止.
//        handler = appfac(params);
//    }
//
//    Callback.Cancelable appfac(RequestParams params)
//    {
//        params.setSslSocketFactory(SSLSocketClient.getSSLSocketFactory());
//        return x.http().get(params, new Callback.ProgressCallback<File>() {
//            @Override
//            public void onSuccess(File file) {
//
//                String sdPath = FileUtil.FILEAPK +"/update.apk";
//                File newFile = new File(sdPath);//Environment.getExternalStorageDirectory().getAbsolutePath() + "/appfactory/download/jntv.apk");
//
//                if (newFile.exists())
//                {
//                    newFile.delete();
//                }
//                file.renameTo(newFile);
//                Intent intent = new Intent(UpdateUiFactory.UPDATE_ACTION);
//                intent.putExtra(Intent.ACTION_GET_CONTENT, pgyerUpdateBean);
//                LocalBroadcastManager.getInstance(UpdateService.this).sendBroadcast(intent);
//                Log.i("test", "update down onSuccess");
//                if (file.exists())
//                {
//                    file.delete();
//                }
//
//                UpdateService.this.stopSelf();
//
//
//            }
//
//            @Override
//            public void onError(Throwable throwable, boolean b) {
//                Log.i("test", "update down onError");
//            }
//
//            @Override
//            public void onCancelled(CancelledException e) {
//
//                Log.i("test", "update down onCancelled::");
//            }
//
//            @Override
//            public void onFinished() {
//                Log.i("test", "update down onFinished::");
//            }
//
//            @Override
//            public void onWaiting() {
//                Log.i("test", "update down onWaiting::");
//            }
//
//            @Override
//            public void onStarted() {
//
//                Log.i("test", "update down onStarted");
//            }
//
//            @Override
//            public void onLoading(long l, long l1, boolean b) {
//                Log.i("test", "update down onLoading:l?" + l + "    l1" + l1);
//
//            }
//        });
//    }

}